package com.zh.manage.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.zh.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;


/**
 * code is far away from bug with the animal protecting
 * ┏┓　　　┏┓
 * ┏┛┻━━━┛┻┓
 * ┃　　　　　　　┃
 * ┃　　　━　　　┃
 * ┃　┳┛　┗┳　┃
 * ┃　　　　　　　┃
 * ┃　　　┻　　　┃
 * ┃　　　　　　　┃
 * ┗━┓　　　┏━┛
 * 　　┃　　　┃神兽保佑
 * 　　┃　　　┃代码无BUG！
 * 　　┃　　　┗━━━┓
 * 　　┃　　　　　　　┣┓
 * 　　┃　　　　　　　┏┛
 * 　　┗┓┓┏━┳┓┏┛
 * 　　　┃┫┫　┃┫┫
 * 　　　┗┻┛　┗┻┛
 *
 * @Description: 卡BIN实体类
 * @Author: Li.HuiNeng
 * @Create in: 2019/8/16
 * @Version: 1.0.1
 */
@TableName("system_card_bin")
@ApiModel(description = "卡BIN实体类")
@Data
@EqualsAndHashCode(callSuper = true)
public class CardEntity extends Model<CardEntity> {
    private static final long serialVersionUID = 629516228641904716L;

    @ApiModelProperty(value = "主键", name = "id", required = true, example = "1")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty(value = "逻辑删除字段", name = "deleted")
    @TableLogic
    private Integer deleted;
    @ApiModelProperty(value = "卡BIN", name = "cardBin", example = "62218131")
    @TableField(value = "card_bin", condition = SqlCondition.LIKE)
    private String cardBin;

    @ApiModelProperty(value = "发卡行代码", name = "bankCode", example = "01000000")
    @TableField(value = "bank_code", condition = SqlCondition.LIKE)
    private String bankCode;

    @ApiModelProperty(value = "发卡行名称", name = "bankName", example = "邮储银行")
    @TableField(value = "bank_name", condition = SqlCondition.LIKE)
    private String bankName;

    @ApiModelProperty(value = "卡名称", name = "cardName", example = "绿卡专用卡")
    @TableField(value = "card_name", condition = SqlCondition.LIKE)
    private String cardName;

    @ApiModelProperty(value = "卡种 1-借记卡 2-贷记卡 4-准贷记卡 8-预付卡", name = "cardType", example = "1")
    @TableField(value = "card_type", condition = SqlCondition.LIKE)
    private Integer cardType;

    @ApiModelProperty(value = "卡号长度", name = "cardLength", example = "19")
    @TableField(value = "card_length", condition = SqlCondition.LIKE)
    private Integer cardLength;
}
